// 定义属性管理接口 ts 类型
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}

// 分类 ts 类型
export interface CategoryObj {
  // 也可能是 string 类型 仓库存储 ID 的起始值是一个空字符串
  id: number | string
  name: string
  // 一级分类对象不携带 id 二级和三级分类需要携带id
  category1Id?: number
  category2Id?: number
}

// 相应接口返回的数据 ts 类型
export interface CategoryResponseData extends ResponseData {
  data: CategoryObj[]
}

// 定义三级分类数据属性值对象 ts 类型 id 用来判断是增加还是修改
export interface AttrValue {
  id?: number
  valueName: string
  attrId: number
  flag?: boolean
}

//存储每一个属性值的数组类型
export type AttrValueList = AttrValue[]

//属性对象 id 用来判断是增加还是修改
export interface Attr {
  id?: number
  attrName: string
  categoryId: number | string
  categoryLevel: number
  attrValueList: AttrValueList
}

//存储每一个属性对象的数组ts类型
export type AttrList = Attr[]

//属性接口返回的数据ts类型
export interface AttrResponseData extends ResponseData {
  data: Attr[]
}
